module.exports = function(grunt) {
  // 初始化插件配置
  grunt.initConfig({
    concat: {
      options: {
        separator: ';',
      },
      dist: {
        src: ["src/js/*.js"],
        dest: 'build/js/build.js',
      },
    },
    pkg: grunt.file.readJSON('package.json'),
    uglify: {
      options: { //不是必须的
        banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' +
          '<%= grunt.template.today("yyyy-mm-dd") %> */'
      },
      build: {
        files: {
          'build/js/build.min.js': ['build/js/build.js']
        }
      }
    },
    jshint: {
      options: {
        jshintrc: '.jshintrc' //指定配置文件
      },
      build: ['Gruntfile.js', 'src/js/*.js'] //指定检查的文件
    },
    cssmin: {
      options: {
        mergeIntoShorthands: false,
        roundingPrecision: -1
      },
      target: {
        files: {
          'build/css/output.min.css': ["src/css/*.css"]
        }
      }

    },
    watch: {
      scripts: {
        files: ['src/js/*.js', 'src/css/*.css'],
        tasks: ['concat', 'uglify', 'cssmin'],
        options: { spawn: false }
      }
    }
  });
  // 加载插件任务
  grunt.loadNpmTasks('grunt-contrib-concat');
  grunt.loadNpmTasks('grunt-contrib-uglify');
  grunt.loadNpmTasks('grunt-contrib-jshint');
  grunt.loadNpmTasks('grunt-contrib-cssmin');
  grunt.loadNpmTasks('grunt-contrib-watch');

  // 注册构建任务
  grunt.registerTask('default', ["concat", "uglify", "cssmin"]);
  grunt.registerTask("my_watch", ["default", "watch"])
};